﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Planisoft.DAO;
using Planisoft.Entities;
using Microsoft.Practices.Unity;
using PagedList;

namespace Planisoft.BL
{
    public class TrabajadorBL: ItrabajadorBL
    {
        /* antes del unity
         ItrabajadorDAO trabajadorDAO;
        public TrabajadorBL() 
        {trabajadorDAO = new TrabajadorDAO();
        }*/

        [Dependency]
        public ItrabajadorDAO TrabajadorDAO { get; set; }

        public List<Trabajador> GetAllFromTrabajador()
        {
            return TrabajadorDAO.GetAllFromTrabajador();
        }

        public List<Trabajador> GetAllFromTrabajadorByCriterio(string criterio)
        {
            throw new NotImplementedException();
        }

        public Trabajador GetAllFromTrabadorById(int id)
        {
            return TrabajadorDAO.GetAllFromTrabadorById(id);
        }

        public void AddTrabajador(Trabajador trabajador)
        {
            TrabajadorDAO.AddTrabajador(trabajador);
        }

        public void UpdateTrabajador(Trabajador trabajador)
        {
            TrabajadorDAO.UpdateTrabajador(trabajador);
        }

        public void RemoveTrabajador(int id)
        {
            throw new NotImplementedException();
        }
        
        public List<Trabajador> GetFromTrabajadorByCriterio(int id)
        {
            return TrabajadorDAO.GetFromTrabajadorByCriterio(id);
        }


        public List<Trabajador> GetAllFromTrabajadorByPlanilla()
        {
            return TrabajadorDAO.GetAllFromTrabajadorByPlanilla();
        }
        public IPagedList<Trabajador> GetAllFromTrabajadorByCriterio(string criterio, int page, int size)
        {
            return TrabajadorDAO.GetAllFromTrabajadorByCriterio(criterio, page, size);
        }
    }
}
